package com.hyt.it.ogt.kq.service.bm.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hyt.it.ogt.kq.service.bm.model.dto.RegisterMessageDTO;
import com.hyt.it.ogt.kq.service.bm.model.entity.SendMessageTemplate;
import com.hyt.it.ogt.kq.service.gov.model.param.MessageParam;
import com.hyt.it.ogt.kq.service.gov.model.param.MessageQueryParam;
import com.hyt.it.ogt.kq.service.gov.model.param.fjCityBm.SendMessageParam;
import com.hyt.it.ogt.kq.service.gov.model.vo.SendMessageVo;

import java.util.List;

/**
 * @author 朱振宇
 * @since 2024-01-24
 */
public interface ISendMessageService {

    /**
     * MQ发送短信入口
     * @param officeId
     * @param deptId
     * @param userId
     * @param sendMessageParam
     */
    void sendMessageToMQ(String officeId, String deptId, String userId, SendMessageParam sendMessageParam);


    void sendMsg(MessageParam messageParam, String userId, String officeId);

    /**
     * MQ消费者发送短信
     * @param messageDTOList
     */
    void sendMessage(List<RegisterMessageDTO> messageDTOList);

    /**
     * 获取发送短信内容模板
     * @return
     */
    List<SendMessageTemplate> findSendMessageTemplateList(String officeId);

    /**
     * 获取发送短信总数
     * @param projectId
     * @param deptId
     * @param sendType
     * @param messageNum
     * @return
     */
    Integer getSendMessageNum(String projectId, String deptId, Integer sendType, Integer messageNum);

    Integer querySendMessageNum(MessageParam messageParam);
    IPage<SendMessageVo> queryMessage(MessageQueryParam param);

}
